A distributed computation may be performed on distributed computing devices. Certain computations (e.g., parallel processing or parallel programming) may benefit from using the distributed computing devices. For example, a complex computation may run faster if the computation is divided into portions and the portions are run on a number of processing devices. A node executing an application may determine how the application should be divided and what application portions go to which distributed computing systems. The distributed computing systems may receive instructions and/or data from the node and may return a result to the node.